home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Trusted Irix /B 4.0.4
/
Trusted-Irix B-4.0.1.iso
/
dist
/
eoe1.idb
/
usr
/
include
/
sys
/
R2300.h.z
/
R2300.h
Wrap
C/C++ Source or Header
|
1992-04-03
|
5KB
|
162 lines
/**************************************************************************
* *
* Copyright (C) 1990, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
/* ------------------------------------------------------------------ */
/* | Copyright Unpublished, MIPS Computer Systems, Inc. All Rights | */
/* | Reserved. This software contains proprietary and confidential | */
/* | information of MIPS and its suppliers. Use, disclosure or | */
/* | reproduction is prohibited without the prior express written | */
/* | consent of MIPS. | */
/* ------------------------------------------------------------------ */
#ifndef __SYS_R2300_H__
#define __SYS_R2300_H__
#ident "$Revision: 1.15 $"
/*
* R2300.h -- cpu board specific defines for R2300 (aka MBC)
*/
#define SBE_ADDR 0x1e000800 /* system bus error address */
#define CPU_CONFIG 0x1e080006 /* cpu bd configuration register */
#define CONFIG_NOCP1 0x01 /* coprocessor 1 not present */
#define CONFIG_NOCP2 0x02 /* coprocessor 2 not present */
#define CONFIG_POWERUP 0x04 /* power-up or cpu bd reset */
#define CONFIG_VMEMEM 0x08 /* VME memory present */
#define LED_REG 0x1e080003
#define LED_MASK 0x3f /* led bits */
#define LED_LMEM_RUN 0x40 /* enable local memory */
#define LED_FPBD_RUN 0x80 /* enable fp board */
#define NVSTATE_ADDR 48 /* Byte that indicates if nv valid */
/* Clock and timer addresses */
#define RT_CLOCK_ADDR (struct rt_clock *)PHYS_TO_K1(0x1e010003)
#ifdef LANGUAGE_ASSEMBLY /* used by some standalone assembler routines */
#define PT_CLOCK_ADDR PHYS_TO_K1(0x1e001003)
#else
#define PT_CLOCK_ADDR (struct pt_clock *)PHYS_TO_K1(0x1e001003)
#endif /* LANGUAGE_ASSEMBLY */
#define TIM0_ACK_ADDR (char *)PHYS_TO_K1(0x1e200003)
#define TIM1_ACK_ADDR (char *)PHYS_TO_K1(0x1e200007)
/*
* VMEbus related defines
*/
#define VME_IMR 0x1e020003 /* interrupt mask */
#define VME_ISR 0x1e020007 /* interrupt status */
#define VME_IACK 0x1df00002 /* interrupt acknowledge */
#define VME_RMW_ADDR 0xbe400003 /* VME RMW toggle */
/*
* VME I/O space defines
*/
#define VME_A16NPBASE 0x1d100000 /* a16 non-privileged address sp */
#define VME_A16NPSIZE 0x00010000 /* size */
#define VME_A16SBASE 0x1d000000 /* a16 supervisor address sp */
#define VME_A16SSIZE 0x00010000 /* size */
#define VME_A24SBASE 0x1c000000 /* a24 supervisor address sp */
#define VME_A24SSIZE 0x01000000 /* size */
/* R2300 cannot reach a24 non-prov */
#define VME_A24NPBASE 0x0 /* a24 non-privileged address sp */
#define VME_A24NPSIZE 0x0 /* size */
#define VME_A32NPBASE 0x18000000 /* a32 non-privileged address sp */
#define VME_A32NPSIZE 0x04000000 /* size */
#define VME_A32SBASE 0x0 /* a32 supervisor address sp */
#define VME_A32SSIZE 0x0 /* size */
#define vme_adapter(addr) 0 /* only 1 VME adapter */
/*
* non-volatile ram addresses
* NOTE: everything must fit within 50 bytes for the 146818 TOD chip
*/
#define NVLEN_MAX 50
#define NVOFF_BASE 0
/*
* netaddr is used by network software to determine the internet
* address, it should be a string containing the appropriate
* network address in "." format
*/
#define NVOFF_NETADDR (NVOFF_BASE)
#define NVLEN_NETADDR 16
/*
* lbaud/rbaud are the initial baud rates for the duart
* (e.g. "9600")
*/
#define NVOFF_LBAUD (NVOFF_NETADDR+NVLEN_NETADDR)
#define NVLEN_LBAUD 5
#define NVOFF_RBAUD (NVOFF_LBAUD+NVLEN_LBAUD)
#define NVLEN_RBAUD 5
/*
* bootfile is the initial program loaded on an autoboot
* (e.g. "bfs(0)mipsboot_le")
*/
#define NVOFF_BOOTFILE (NVOFF_RBAUD+NVLEN_RBAUD)
#define NVLEN_BOOTFILE 20
/*
* bootmode controls autoboots/warm starts/command mode on reset
* "a" => autoboot on reset
* "w" => warm start if restart block correct, else autoboot
* anything else cause entry to command mode
*/
#define NVOFF_BOOTMODE (NVOFF_BOOTFILE+NVLEN_BOOTFILE)
#define NVLEN_BOOTMODE 1
/*
* console controls what consoles are enabled at power-up
* 'a' indicates "all" consoles
* 'r' indicates both local and remote uarts
* anything else indicates only local uart
*/
#define NVOFF_CONSOLE (NVOFF_BOOTMODE+NVLEN_BOOTMODE)
#define NVLEN_CONSOLE 1
/*
* state maintains the current validity of the tod clock and
* non-volatile ram
* see NVSTATE_* definitions below
*/
#define NVOFF_STATE (NVOFF_CONSOLE+NVLEN_CONSOLE)
#define NVLEN_STATE 1
/*
* failcode is used by the power-on diagnostics to save a failure
* code for use by service techs
*/
#define NVOFF_FAILCODE (NVOFF_STATE+NVLEN_STATE)
#define NVLEN_FAILCODE 1
#define NVLEN_TOTAL (NVOFF_FAILCODE+NVLEN_FAILCODE)
#if NVLEN_TOTAL > NVLEN_MAX
# include "error -- non-volatile ram overflow"
#endif
#define dcache_wb(X,Y)
#define dcache_wbinval(X,Y) dcache_inval(X,Y)
#endif /* __SYS_R2300_H__ */